Software Development Kits (SDKs) are a set of software tools that enable developers to access, extend or customize certain software applications, such as those utilized by network routers and switches. Network developers using a SDK need the ability to test these software applications, either on physical or software (virtual) routers and switches.
Currently, virtual routers and switch simulations are limited to process simulations, which do not execute software that is directly deployable on a physical router and switch. Further, such process simulations are typically configured via static configuration files. In order to modify the topology of a test network, the entire topology must be taken down in order to update the configuration files.